package com.huizhan.web.model;

import com.huizhan.web.common.annotation.*;
import com.huizhan.web.common.enums.DecimalType;
import com.huizhan.web.common.enums.TimeType;

import javax.persistence.*;
import java.io.Serializable;
import java.lang.annotation.Annotation;

import com.fasterxml.jackson.annotation.*;
import io.swagger.annotations.*;
import java.util.Date;

/**
 * @Description 人
 * @Author yanluping@outlook.com
 * @Date 2020-03-02 11:43:42
 */
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
@Entity
@ApiModel(value = "人")
@Table(name = "Personal")
public class Personal implements Serializable {

	private static final long serialVersionUID = 4885989927717927265L;

	/**
	 * 人ID
	 */
	@ApiModelProperty(value = "人ID")
	@Id
	@Column(name = "Personal_Id")
	private String personalId;

	/**
	 * 项目ID
	 */
	@ApiModelProperty(value = "项目ID")
	@Column(name = "Project_Id")
	private String projectId;

	/**
	 * 注册ID
	 */
	@ApiModelProperty(value = "注册ID")
	@Column(name = "Register_Id")
	private Long registerId;

	/**
	 * 展商ID
	 */
	@ApiModelProperty(value = "展商ID")
	@Column(name = "Exhibitor_Id")
	private Long exhibitorId;

	/**
	 * 注册人员来源
	 */
	@ApiModelProperty(value = "注册人员来源ID")
	@GeneratedValue
	@Column(name = "Source_Id")
	private Long sourceId;

	/**
	 * 微信公开ID
	 */
	@ApiModelProperty(value = "微信公开ID")
	@Column(name = "OpenId")
	private String openId;

	/**
	 * 类型：1 组委会、2 展商、3 工作人员、4 观众、5 媒体
	 */
	@ApiModelProperty(value = "类型：1 组委会、2 展商、3 工作人员、4 观众、5 媒体")
	@Column(name = "Type")
	private Integer type;

	/**
	 * 姓名
	 */
	@ApiModelProperty(value = "姓名")
	@Column(name = "Name")
	@Excel(titleName = "Name",empty=true,orderNum = -4)
	private String name;

	/**
	 * 性别
	 */
	@ApiModelProperty(value = "性别")
	@Column(name = "Sex")
	@Excel(titleName = "Sex",empty=true,orderNum = -3)
	private String sex;

	/**
	 * 公司
	 */
	@ApiModelProperty(value = "公司")
	@Column(name = "Company")
	@Excel(titleName = "Company",empty=true,orderNum = -2)
	private String company;

	/**
	 * 职务
	 */
	@ApiModelProperty(value = "职务")
	@Column(name = "Position")
	@Excel(titleName = "职务",empty=true,orderNum = -1)
	private String position;

	/**
	 * 手机
	 */
	@ApiModelProperty(value = "手机")
	@Column(name = "Phone")
	@Excel(titleName = "手机",empty=true,orderNum = 0)
	private String phone;

	/**
	 * 邮箱
	 */
	@ApiModelProperty(value = "邮箱")
	@Column(name = "Email")
	@Excel(titleName = "邮箱",empty=true,orderNum = 1)
	private String email;

	/**
	 * 地址
	 */
	@ApiModelProperty(value = "地址")
	@Column(name = "Address")
	@Excel(titleName = "地址",empty=true,orderNum = 2)
	private String address;

	/**
	 * 地区
	 */
	@ApiModelProperty(value = "地区")
	@Excel(titleName = "地区",empty=true,orderNum = 3)
	@Column(name = "area")
	private String area;

	/**
	 * 身份证
	 */
	@ApiModelProperty(value = "身份证")
	@Column(name = "IDCard")
	@Excel(titleName = "身份证",empty=true,orderNum = 4)
	private String idCard;

	/**
	 * 头像
	 */
	@ApiModelProperty(value = "头像")
	@Column(name = "Avatar")
	@Excel(titleName = "头像",empty=true,orderNum = 5)
	private String avatar;

	/**
	 * 码值
	 */
	@ApiModelProperty(value = "码值")
	@Column(name = "Code")
	@Excel(titleName = "码值",empty=true,orderNum = 6)
	private String code;

	/**
	 * 是否审核
	 */
	@ApiModelProperty(value = "是否审核")
	@Column(name = "Verify")
	@Excel(titleName = "是否审核",empty=true,orderNum = 7)
	private Integer verify;

	/**
	 * 禁用
	 */
	@ApiModelProperty(value = "禁用")
	@Column(name = "Disabled")
	@Excel(titleName = "禁用",empty=true,orderNum = 8)
	private Integer disabled;

	/**
	 * 是否签到
	 */
	@ApiModelProperty(value = "是否签到")
	@Column(name = "IsSign")
	@Excel(titleName = "是否通行",empty=true,orderNum = 10)
	private Integer isSign;

	/**
	 * 是否通行
	 */
	@ApiModelProperty(value = "是否通行")
	@Column(name = "IsPassage")
	@Excel(titleName = "是否通行",empty=true,orderNum = 13)
	private Integer isPassage;

	/**
	 * 创建日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "创建日期", example = "2018-10-01 12:18:48")
	@Column(name = "CreateDate")
	@Excel(titleName = "创建日期",empty=true,orderNum = 14)
	private Date createDate;

	/**
	 * 签到日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "签到日期", example = "2018-10-01 12:18:48")
	@Column(name = "SignDate")
	@Excel(titleName = "签到日期",empty=true,orderNum = 12)
	private Date signDate;

	/**
	 * 通行日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ApiModelProperty(value = "通行日期", example = "2018-10-01 12:18:48")
	@Column(name = "PassageDate")
	@Excel(titleName = "通行日期",empty=true,orderNum = 11)
	private Date passageDate;

	/**
	 * 展位号
	 */
	@ApiModelProperty(value = "展位号")
	@Column(name = "Booth")
	@Excel(titleName = "展位号",empty=true,orderNum = 9)
	private String booth;

	public String getBooth() {
		return this.booth;
	}

	public void setBooth(String booth) {
		this.booth = booth;
	}

	public Long getSourceId() {
		return this.sourceId;
	}

	public void setSourceId(Long sourceId) {
		this.sourceId = sourceId;
	}

	public String getPersonalId() {
		return this.personalId;
	}

	public void setPersonalId(String personalId) {
		this.personalId = personalId;
	}

	public String getProjectId() {
		return this.projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public Long getRegisterId() {
		return this.registerId;
	}

	public void setRegisterId(Long registerId) {
		this.registerId = registerId;
	}

	public Long getExhibitorId() {
		return this.exhibitorId;
	}

	public void setExhibitorId(Long exhibitorId) {
		this.exhibitorId = exhibitorId;
	}

	public String getOpenId() {
		return this.openId;
	}

	public void setOpenId(String openId) {
		this.openId = openId;
	}

	public Integer getType() {
		return this.type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return this.sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getCompany() {
		return this.company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public String getPosition() {
		return this.position;
	}

	public void setPosition(String position) {
		this.position = position;
	}

	public String getPhone() {
		return this.phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getAddress() {
		return this.address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getIdCard() {
		return this.idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public String getArea() {
		return this.area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getAvatar() {
		return this.avatar;
	}

	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}

	public String getCode() {
		return this.code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Integer getVerify() {
		return this.verify;
	}

	public void setVerify(Integer verify) {
		this.verify = verify;
	}

	public Integer getDisabled() {
		return this.disabled;
	}

	public void setDisabled(Integer disabled) {
		this.disabled = disabled;
	}

	public Integer getIsSign() {
		return this.isSign;
	}

	public void setIsSign(Integer isSign) {
		this.isSign = isSign;
	}

	public Integer getIsPassage() {
		return this.isPassage;
	}

	public void setIsPassage(Integer isPassage) {
		this.isPassage = isPassage;
	}

	public Date getCreateDate() {
		return this.createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getSignDate() {
		return this.signDate;
	}

	public void setSignDate(Date signDate) {
		this.signDate = signDate;
	}

	public Date getPassageDate() {
		return this.passageDate;
	}

	public void setPassageDate(Date passageDate) {
		this.passageDate = passageDate;
	}

	@Override
	public String toString() {
		return "{" + "personalId='" + personalId + '\'' + "projectId='" + projectId + '\'' + "registerId='" + registerId
				+ '\'' + "exhibitorId='" + exhibitorId + '\'' + "openId='" + openId + '\'' + "type='" + type + '\''
				+ "name='" + name + '\'' + "sex='" + sex + '\'' + "company='" + company + '\'' + "position='" + position
				+ '\'' + "phone='" + phone + '\'' + "email='" + email + '\'' + "area='" + area + '\'' + "address='"
				+ address + '\'' + "idCard='" + idCard + '\'' + "avatar='" + avatar + '\'' + "code='" + code + '\''
				+ "verify='" + verify + '\'' + "disabled='" + disabled + '\'' + "isSign='" + isSign + '\''
				+ "isPassage='" + isPassage + '\'' + "createDate='" + createDate + '\'' + "signDate='" + signDate + '\''
				+ "passageDate='" + passageDate + '\'' + '}';
	}


}
